package cn.shiwei.hello;

import com.rabbitmq.client.AMQP;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

/**
 * 生产者
 */
public class Producer {

    // 常量, 队列名
    public static final String NAME_QUEUE_HELLO = "shiwei_name_queue_hello";

    public static void main(String[] args) throws IOException, TimeoutException {
        // 创建链接
        ConnectionFactory factory = new ConnectionFactory();
        // "guest"/"guest" by default, limited to localhost connections
        // factory.setUsername(userName); // 不写就是默认的"guest"
        // factory.setPassword(password); // 不写就是默认的"guest"
        // factory.setVirtualHost(virtualHost); // 不写默认"/"
        // factory.setHost(hostName); // 不写默认 "localhost"
        // factory.setPort(portNumber); // 不写默认端口"5672"
        Connection conn = factory.newConnection();

        // 创建通道
        Channel channel = conn.createChannel();

        // 创建队列
        channel.queueDeclare(NAME_QUEUE_HELLO, // 队列名
                true, // 持久化队列(保存导磁盘)
                false, // 标识该队列, 不是独占该链接
                false, // 标识关闭自动删除
                null // 标识没有其他参数
        );
        // 发布信息
        channel.basicPublish(
                "" ,// 表示使用默认交换机
                NAME_QUEUE_HELLO,
                null, // 其他参数(没有)
                "瓜皮111".getBytes() // 消息本体(需要字节数组)
        );

        System.out.println("消息发送");
    }
}
